@echo off
echo ========================================
echo Flask数据库初始化脚本
echo ========================================
echo.

echo 1. 设置环境变量...
set FLASK_APP=run.py

echo.
echo 2. 检查是否已初始化迁移仓库...
if not exist "migrations" (
    echo 迁移仓库不存在，正在初始化...
    flask db init
    echo.
) else (
    echo 迁移仓库已存在
    echo.
)

echo 3. 检查数据库中是否已有表...
python -c "from app import create_app, db; app = create_app(); app.app_context().push(); import sqlalchemy as sa; inspector = sa.inspect(db.engine); tables = inspector.get_table_names(); print('已有表:', tables if tables else '无')" 2>nul
echo.

echo 4. 创建或标记迁移...
flask db migrate -m "Initial migration" 2>nul
if %errorlevel% neq 0 (
    echo 没有检测到模式变化，可能是数据库已存在表
    echo 标记当前数据库状态为已迁移...
    flask db stamp head
)
echo.

echo 5. 应用迁移到数据库...
flask db upgrade
echo.

echo 6. 检查迁移状态...
flask db current
echo.

echo ========================================
echo 数据库初始化完成！
echo ========================================
pause